This application claims the priority of Korean Patent Application No. 10-2007-0016034, filed on Feb. 15, 2007, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates to a method and apparatus for extracting facial features from an image containing a face, and more particularly, to a method and apparatus for efficiently extracting facial features from an image, which contains a face, using symmetric information of the face while reducing the time and computation required.
2. Description of the Related Art
Face recognition technology, which extracts facial features from an image containing the face of a person and thus identifies the person, is variously used in many fields. However, extracting such facial features requires a large amount of computation and a large data storage space. Hence, it is not easy to perform face recognition using relatively low specification central processing units (CPUs) or mobile devices having small memory spaces.
FIG. 1 illustrates the configuration of a conventional face recognition apparatus which extracts facial features and performs face recognition.
Referring to FIG. 1, the conventional face recognition apparatus includes a normalization unit 100, a first feature vector extraction unit 110, a second feature vector extraction unit 120, and a comparison unit 130.
If an image containing the face of a person is input to the normalization unit 100 via an input terminal IN1, such as a camera sensor, the normalization unit 100 normalizes the input image so that it is suitable for face recognition. The normalization unit 100 detects the location of the face of the person in the input image and then detects the locations of both eyes of the person in a detected region. The normalization unit 100 normalizes the input image by rotating and resizing the input image with respect to the detected locations of the eyes, so that features of the input image can be extracted. If necessary, the normalization unit 100 also performs a preprocessing process such as illumination compensation.
The first feature vector extraction unit 110 receives the normalized input image, filters the normalized input image using a filter set for face recognition at locations of P fiducial points, which were predetermined with respect to the eyes in the normalized input image, and extracts a first feature vector. Fiducial points denote particular locations in the face which represent facial features well.
The second feature vector extraction unit 120 receives the first feature vector and extracts a second feature vector by reducing the dimension of the received first feature vector. That is, the second feature vector extraction unit 120 extracts the second feature vector by applying a dimension reduction interpretation technique, such as principle component analysis (PCA) or linear discriminant analysis (LDA), to the first feature vector. Since the second feature vector is directly used for face recognition, it is also referred to as a feature vector for face recognition.
The comparison unit 130 receives a pre-stored feature vector for face recognition through an input terminal IN2 and receives the second feature vector from the second feature vector extraction unit 120. The comparison unit 130 compares the correlation or distance between the second feature vector and the pre-stored feature vector for face recognition and obtains a value representing the similarity between the second feature vector and the pre-stored feature vector for face recognition. The value representing the similarity obtained by the comparison unit 130 is output through an output terminal OUT1.
FIG. 2 illustrates the first feature vector extraction unit 110 of FIG. 1 in more detail. Referring to FIG. 2, the first feature vector extraction unit 110 includes a filtering unit 200 and a post-processing unit 210.
The filtering unit 200 receives a normalized image through an input terminal IN3. In addition, the filtering unit 200 receives P fudicial points, which were predetermined with respect to both eyes in the received image, through an input terminal IN4, and receives a filter set for face recognition through an input terminal IN5. The filtering unit 200 filters the received image using the filter set at locations of the P fudicial points which were predetermined with respect to both eyes in the received image. If the filter set includes J filters, the filtering unit 200 filters the received image using the J filters at the locations of the P fudicial points. Therefore, the size of the first feature vector extracted by the filtering unit 200 is equal to a value obtained after the number of fudicial points is multiplied by the number of filters. That is, the size (N) of the first feature vector (w)=the number (P) of fudicial pints×the number (J) of filters.
FIG. 3 illustrates the second feature vector extraction unit 120 of FIG. 1 in more detail. Referring to FIG. 3, the second feature vector extraction unit 120 includes a projection unit 300.
The projection unit 300 receives the first feature vector through an input terminal IN6 and receives a basis matrix for face recognition through an input terminal IN7. The basis matrix is obtained by learning PCA and LDA. The projection unit 300 projects the first feature vector received through the input terminal IN6 onto the basis matrix obtained by learning PCA and LDA and extracts the second feature vector. In this case, a matrix having a value (M), which is set appropriately in consideration of the size (N) of the first feature vector multiplied by recognition rate or recognition speed, is used as the basis matrix for face recognition. Therefore, the second feature vector has the size of M. Here, N has a far greater value than M.
As described above, in order to extract features of an input image and perform face recognition, the first feature vector must be extracted, and the second feature vector must be extracted by projecting the extracted first feature vector onto the basis matrix for face recognition which is obtained by learning PCA and LDA. However, since extracting the first and second feature vectors requires many computational processes and a large storage space, face recognition apparatuses with low hardware specifications cannot properly perform face recognition.